<?php

/**
 *
 */
require_once( HOME.'/include/global.php');

class BackendController extends BaseController
{
	public function __construct(){
		$this->BackendController();
	}
	
    public function BackendController()
    {
        parent::__construct();
        // 只有管理员可以登录后台
        if (empty($_SESSION['user']))
        {
            $action = $GLOBALS['__controller'];
            // 需要登录
            if ( ( 'admin' != $GLOBALS['__controller'] || 'login' != $GLOBALS['__action'] ) && 
            		('captcha' != $GLOBALS['__controller'] || 'index' != $GLOBALS['__action']) )
            
            {
            	if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
            		echo json_encode(array('error'=>'没有权限!!!'));
            		exit;
            	}else{
            	   	header('Location:' . spUrl('admin','login'));
					exit;
	                return;
            	}
            	 
             
            }
        } 

//         // 配置管理器
//         Conf::init();
//         // TODO:临时手段，需删除
//         Conf::load(array(
//             'lang' => 'zh-CN',
//             'template' => 'default',
//         ));
//         Conf::load($this->_getSettings());

//         // 语言项管理器
//         Lang::init();
//         Lang::load(HOME . 'admin/language/' . Conf::get('lang') . '/common.lang.php');
//         // TODO
//         Lang::load(HOME . 'admin/language/' . Conf::get('lang') . '/' . CONTROLLER . '.lang.php');
    }
    
   	  private function _url_filter(){
   	  	
   	  }
  
    protected function redirect($url, $message = null, $type = 'message')
    {
        if ($message !== null)
        {
            setcookie('message', $message);
            setcookie('message_type', $type);
        }
        // 注意，两次重定向将导致cookie丢失，原因未知
        $url !== null && header("Location:" . $url);
    }

    protected function in_menu($menu_id)
    {
        $this->assign('selected_menu', $menu_id);
    }
//     protected function paths($arg)
//     {
//         $args = func_get_args();
//         $paths = array_merge(array(array(Lang::get('menu.dashboard'), url())), $args);
//         $this->assign('paths', $paths);
//     }
//     protected function display($tpl_file)
//     {
//         $tpl_path = HOME . 'admin/template/' . $tpl_file;
//         $tpl = Lib::load('sparrow.template');
//         $tpl->assign('menu', array(
//             array(
//                 'title' => lang('menu.dashboard'),
//                 'items' => array(
//                     'dashboard' => array(
//                         'url'   => 'index.php',
//                         'text'  => lang('menu.dashboard'),
//                     ),
//                 )
//             ),
//             array(
//                 'title' => lang('menu.content'),
//                 'items' => array(
//                     'post_add' => array(
//                         'url'   => url('controller=post&action=add'),
//                         'text'  => lang('menu.post_add'),
//                     ),
//                     'post_index' => array(
//                         'url'   => url('controller=post'),
//                         'text'  => lang('menu.post_index'),
//                     ),
//                     'blog_tag' => array(
//                         'url'   => url('controller=tag'),
//                         'text'  => lang('menu.blog_tag'),
//                     ),
//                     'file' => array(
//                         'url'   => url('controller=file'),
//                         'text'  => lang('menu.file'),
//                     ),
//                     'comment' => array(
//                         'url'   => url('controller=comment'),
//                         'text'  => lang('menu.comment'),
//                     ),
//                     'link' => array(
//                         'url'   => url('controller=link'),
//                         'text'  => lang('menu.link'),
//                     ),
//                     'page' => array(
//                         'url'   => url('controller=page'),
//                         'text'  => lang('menu.page'),
//                     ),
//                 )
//             ),
//             array(
//                 'title' => lang('menu.settings'),
//                 'items' => array(
//                     'blog_settings' => array(
//                         'url'   => url('controller=settings'),
//                         'text'  => lang('menu.blog_settings'),
//                     ),
//                     'blog_template' => array(
//                         'url'   => url('controller=template'),
//                         'text'  => lang('menu.template'),
//                     ),
//                     'blog_cate' => array(
//                         'url'   => url('controller=category'),
//                         'text'  => lang('menu.blog_category'),
//                     ),
//                 )
//             ),
//         ));
//         if ($_COOKIE['message'] !== null)
//         {
//             $tpl->assign('message', $_COOKIE['message']);
//             $tpl->assign('message_type', $_COOKIE['message_type']);
//             setcookie('message', null);
//             setcookie('message_type', null);
//         }
//         $tpl->display($tpl_path);
//     }
}

?>
